home *** CD-ROM | disk | FTP | other *** search
- property memberPrim, memberUlt -- Cast members que serao animados
- property memPrim, memQuantos -- Membros: em numero
- property espera -- Tempo de espera entre cada mudanca (em ticks)
- property aleatorio -- True para mudanca aleatoria
- property ultimaTroca -- Hora em que foi feita ultima troca
- property fotoAtual
- property sequencial
-
- on getBehaviorDescription
- return "Anima sprites"
- end
-
- on getPropertyDescriptionList
- set p_list = [ ¬
- #memberPrim: [ #comment: "Primeiro membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #memberUlt: [ #comment: "Ultimo membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",¬
- #format: #integer,¬
- #default: 60 ],¬
- #aleatorio: [ #comment: "Animacao randomica",¬
- #format: #boolean,¬
- #default: false ],¬
- #sequencial: [ #comment: "Animacao sem saltar frames",¬
- #format: #boolean,¬
- #default: false ]¬
- ]
- return p_list
- end
-
- on beginSprite me
- set memPrim to the number of member memberPrim
- set memQuantos to (the number of member memberUlt) - memPrim + 1
- put 0 into fotoAtual
- end
-
- on idleSprite me
- global gMustUpdate
- -- Testa se ja e' hora de trocar figura
- set tmpTimer = the timer
- if (tmpTimer - ultimaTroca) > espera then
-
- -- Descobre qual a proxima figura a trocar
- if (aleatorio) then
- put random(memQuantos - 1) - 1 into tmp
- if tmp >= fotoAtual then put 1 + tmp into tmp
- put tmp into fotoAtual
- if random(2) = 1 then
- set the visible of sprite 5 to true
- else
- set the visible of sprite 5 to false
- end if
- put the timer into ultimaTroca
- else if (sequencial) then
- put fotoAtual + 1 into fotoAtual
- if fotoAtual >= memQuantos then
- put 0 into fotoAtual
- end if
- put the timer into ultimaTroca
- else
- repeat while (tmpTimer - ultimaTroca) > espera
- put fotoAtual + 1 into fotoAtual
- if fotoAtual >= memQuantos then
- put 0 into fotoAtual
- end if
- put ultimaTroca + espera into ultimaTroca
- end repeat
- end if
-
- -- Muda figura e updateStage
- set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
- set gMustUpdate to true
- end if
- end